#ifndef __IMU_H
#define __IMU_H

typedef struct {
    float gyro_x;
    float gyro_y;
    float gyro_z;
    float acc_x;
    float acc_y;
    float acc_z;
    float mag_x;
    float mag_y;
    float mag_z;
} arhs_source_param_t;


typedef struct {
    float Xdata;
    float Ydata;
    float Zdata;
} gyro_zero_param_t;

extern gyro_zero_param_t Gyro_Bias;
extern arhs_source_param_t source_data;
extern float angle_x,angle_y,angle_z;
extern int timer_dat;
extern float Actual_acc_x,Actual_acc_y,Actual_acc_z;
extern float Actual_gyro_x,Actual_gyro_y,Actual_gyro_z;

void imu6660_get_acc_gyro(void);
void imura_zeroBias(void);
void ARHS_getValues();
void Mahony_computeAngles();


#endif